1. Field of the Invention
The invention relates to memories, and more particularly to flash memories.
2. Description of the Related Art
A flash memory is a non-volatile memory that can be electrically erased and reprogrammed. Flash memories are primarily used in memory cards and USB flash drives for general storage and transfer of data between computers and other digital products. A flash memory costs far less than an EEPROM and therefore has become a dominant memory device applied in electronic products. Examples of applications include Personal Digital Assistants (PDA) and laptop computers, digital audio players, digital cameras and mobile phones.
A flash memory is commonly included in a data storage device for data storage. The data storage device including a flash storage device is called a flash storage device. Referring to FIG. 1, a block diagram of a system 100 comprising a conventional flash storage device 104 is shown. The flash storage device 104 comprises a controller 110, a random access memory 120, and flash memories 130 and 140. The flash storage device 104 is coupled to a host 102 and stores data for the host 102. In one embodiment, the host 102 is a computer, a digital camera, or a digital audio player, and the flash storage device 104 is a memory card or a memory disk.
When access to the flash storage device 104 is required, a host 102 sends access commands to the flash storage device 104. The controller 110 of the flash storage device 104 then accesses the flash memories 130 and 140 for the host 102 according to the access commands. Data stored in the flash memories 130 and 140 is accessed according to physical addresses. The controller 110 therefore first must convert logical addresses sent by the host 102 to physical addresses and then access data stored in the flash memories 130 and 140 according to the physical addresses. The random access memory 120 stores a link table 121 recording a mapping relationship between the logical addresses used by the host 102 and physical addresses used by the flash memories 130 and 140. Thus, the controller 110 can therefore convert logical addresses to physical addresses according to the link table 121.
A flash memory comprises a plurality of management units for respectively managing data stored therein. For examples, the flash memory 130 comprises management units 131˜13G, and the flash memory 140 comprises management units 141˜14H. Each of the management units 131˜13G and 141˜14H has a corresponding link table for storing a mapping relationship between logical addresses and physical addresses of blocks thereof. The random access memory 120 of the conventional flash storage device 104 stores only one link table 121. When an access logical address accessed by the host 102 does not fall into the logical addresses stored in the link table 121, the controller 110 must load a new link table storing the access logical address to the random access memory 120, and then convert the access logical address to a physical address according to the new link table stored in the random access memory 120.
When the host 102 only accesses data with logical addresses of a small range, the controller 110 of the conventional flash storage device 104 does not need to frequently replace the link table 121 stored in the random access memory 120 with a new link table. When the host 102 accesses data with logical addresses of a large range, the controller 110 of the conventional flash storage device 104 must frequently replace the link table 121 stored in the random access memory 120 with a new link table. Frequent replacement of the link table 121 causes access time delays for accessing data stored in the flash memories 130 and 140, thus degrading performance of the flash storage device 104. Thus, a flash storage device without the aforementioned shortcomings is required.